home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!tekgen!tekred!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v08i011: NetHack3 - display oriented dungeons & dragons (Ver. 3.0), Patch2f
- Message-ID: <4463@tekred.CNA.TEK.COM>
- Date: 18 Aug 89 15:50:59 GMT
- Sender: nobody@tekred.CNA.TEK.COM
- Lines: 1841
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
- Posting-number: Volume 8, Issue 11
- Archive-name: NetHack3/Patch2f
- Patch-To: NetHack3: Volume 7, Issue 56-93
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 6 (of 7)."
- # Contents: patch02f
- # Wrapped by billr@saab on Fri Aug 18 08:44:39 1989
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'patch02f' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'patch02f'\"
- else
- echo shar: Extracting \"'patch02f'\" \(57076 characters\)
- sed "s/^X//" >'patch02f' <<'END_OF_FILE'
- X*** src/Old/monst.c Wed Aug 16 12:31:28 1989
- X--- src/monst.c Thu Aug 10 20:43:03 1989
- X***************
- X*** 606,655 ****
- X { "grey dragon", S_DRAGON, 10, 9, -1, 20, 4, (G_GENO | 1),
- X { { AT_BREA, AD_MAGM, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_NOHANDS | M1_EGGS |
- X! M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "red dragon", S_DRAGON, 10, 9, -1, 20, -4, (G_GENO | 1),
- X { { AT_BREA, AD_FIRE, 6, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_NOHANDS | M1_EGGS |
- X! M1_FIRE_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "orange dragon", S_DRAGON, 10, 9, -1, 20, 5, (G_GENO | 1),
- X { { AT_BREA, AD_SLEE, 4, 25 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_NOHANDS | M1_EGGS |
- X! M1_SLEE_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "white dragon", S_DRAGON, 10, 9, -1, 20, -5, (G_GENO | 1),
- X { { AT_BREA, AD_COLD, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_NOHANDS | M1_EGGS |
- X! M1_COLD_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "black dragon", S_DRAGON, 10, 9, -1, 20, -6, (G_GENO | 1),
- X { { AT_BREA, AD_DISN, 4, 10 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_NOHANDS | M1_EGGS |
- X! M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "blue dragon", S_DRAGON, 10, 9, -1, 20, -7, (G_GENO | 1),
- X { { AT_BREA, AD_ELEC, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_NOHANDS | M1_EGGS |
- X! M1_ELEC_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "green dragon", S_DRAGON, 10, 9, -1, 20, 6, (G_GENO | 1),
- X { { AT_BREA, AD_DRST, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_NOHANDS | M1_EGGS |
- X! M1_POIS | M1_POIS_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "yellow dragon", S_DRAGON, 10, 9, -1, 20, 7, (G_GENO | 1),
- X { { AT_BREA, AD_ACID, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_NOHANDS | M1_EGGS |
- X! M1_POIS | M1_STON_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X /* Elementals */
- X { "air elemental", S_ELEMENTAL, 8, 36, 2, 30, 0, (G_NOCORPSE | 1),
- X--- 606,655 ----
- X { "grey dragon", S_DRAGON, 10, 9, -1, 20, 4, (G_GENO | 1),
- X { { AT_BREA, AD_MAGM, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_SEE_INVIS | M1_NOHANDS |
- X! M1_EGGS | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "red dragon", S_DRAGON, 10, 9, -1, 20, -4, (G_GENO | 1),
- X { { AT_BREA, AD_FIRE, 6, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_SEE_INVIS | M1_NOHANDS |
- X! M1_EGGS | M1_FIRE_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "orange dragon", S_DRAGON, 10, 9, -1, 20, 5, (G_GENO | 1),
- X { { AT_BREA, AD_SLEE, 4, 25 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_SEE_INVIS | M1_NOHANDS |
- X! M1_EGGS | M1_SLEE_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "white dragon", S_DRAGON, 10, 9, -1, 20, -5, (G_GENO | 1),
- X { { AT_BREA, AD_COLD, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_SEE_INVIS | M1_NOHANDS |
- X! M1_EGGS | M1_COLD_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "black dragon", S_DRAGON, 10, 9, -1, 20, -6, (G_GENO | 1),
- X { { AT_BREA, AD_DISN, 4, 10 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_SEE_INVIS | M1_NOHANDS |
- X! M1_EGGS | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "blue dragon", S_DRAGON, 10, 9, -1, 20, -7, (G_GENO | 1),
- X { { AT_BREA, AD_ELEC, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_SEE_INVIS | M1_NOHANDS |
- X! M1_EGGS | M1_ELEC_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "green dragon", S_DRAGON, 10, 9, -1, 20, 6, (G_GENO | 1),
- X { { AT_BREA, AD_DRST, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_SEE_INVIS | M1_NOHANDS |
- X! M1_EGGS | M1_POIS | M1_POIS_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X { "yellow dragon", S_DRAGON, 10, 9, -1, 20, 7, (G_GENO | 1),
- X { { AT_BREA, AD_ACID, 4, 6 }, { AT_BITE, AD_PHYS, 3, 8 },
- X { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK },
- X! 150, 1500, 0, MS_ROAR, M1_BIG | M1_FLY | M1_SEE_INVIS | M1_NOHANDS |
- X! M1_EGGS | M1_POIS | M1_STON_RES | M1_GREEDY | M1_JEWELS | M1_MAGIC,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE | M2_THICK_HIDE },
- X /* Elementals */
- X { "air elemental", S_ELEMENTAL, 8, 36, 2, 30, 0, (G_NOCORPSE | 1),
- X***************
- X*** 1006,1012 ****
- X { { AT_WEAP, AD_DRLI, 1, 4 }, { AT_BREA, AD_SLEE, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 30, 0, 0, MS_SILENT,
- X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT,
- X! M2_STRONG },
- X #endif
- X /* Xorn */
- X { "xorn", S_XORN, 8, 9,-2, 20, 0, (G_GENO | 1),
- X--- 1006,1012 ----
- X { { AT_WEAP, AD_DRLI, 1, 4 }, { AT_BREA, AD_SLEE, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 30, 0, 0, MS_SILENT,
- X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT,
- X! M2_STRONG | M2_HOSTILE },
- X #endif
- X /* Xorn */
- X { "xorn", S_XORN, 8, 9,-2, 20, 0, (G_GENO | 1),
- X***************
- X*** 1215,1222 ****
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_WEAP, AD_PHYS, 1, 8 }, { AT_TUCH, AD_PLYS, 1, 8 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 45, 400, PL_NSIZ, MS_FERRY,
- X! M1_NOPOLY | M1_HUMANOID | M1_POIS_RES | M1_FIRE_RES | M1_COLLECT,
- X! M2_HUMAN | M2_PEACEFUL },
- X #endif
- X /* Ghost */
- X { "ghost", S_GHOST, 10, 3, -5, 50, -5, (G_NOCORPSE | G_NOGEN),
- X--- 1215,1222 ----
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_WEAP, AD_PHYS, 1, 8 }, { AT_TUCH, AD_PLYS, 1, 8 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 45, 400, PL_NSIZ, MS_FERRY,
- X! M1_NOPOLY | M1_SEE_INVIS | M1_HUMANOID | M1_POIS_RES | M1_FIRE_RES |
- X! M1_COLLECT, M2_HUMAN | M2_PEACEFUL },
- X #endif
- X /* Ghost */
- X { "ghost", S_GHOST, 10, 3, -5, 50, -5, (G_NOCORPSE | G_NOGEN),
- X***************
- X*** 1275,1282 ****
- X { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
- X { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
- X { AT_WEAP, AD_PHYS, 2, 4 }, }, 45, 450, 0, MS_SILENT, M1_HUMANOID |
- X! M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_FEM,
- X! M2_DEMON | M2_HOSTILE | M2_NASTY },
- X { "barbed devil", S_DEMON, 8, 12, 0, 35, 8,
- X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
- X { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
- X--- 1275,1282 ----
- X { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
- X { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
- X { AT_WEAP, AD_PHYS, 2, 4 }, }, 45, 450, 0, MS_SILENT, M1_HUMANOID |
- X! M1_SEE_INVIS | M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT |
- X! M1_FEM, M2_DEMON | M2_HOSTILE | M2_NASTY },
- X { "barbed devil", S_DEMON, 8, 12, 0, 35, 8,
- X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
- X { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
- X***************
- X*** 1310,1340 ****
- X { "ice devil", S_DEMON, 11, 6, -4, 55, -12, (G_HELL | G_NOCORPSE | 2),
- X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
- X { AT_BITE, AD_PHYS, 2, 4 }, { AT_STNG, AD_COLD, 3, 4 }, NO_ATTK },
- X! 45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_COLD_RES | M1_STALK,
- X! M2_DEMON | M2_HOSTILE | M2_NASTY },
- X { "pit fiend", S_DEMON, 13, 6, -3, 65, -13, (G_HELL | G_NOCORPSE | 2),
- X { { AT_WEAP, AD_PHYS, 4, 2 }, { AT_WEAP, AD_PHYS, 4, 2 },
- X { AT_HUGS, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK }, 45, 450, 0,
- X! MS_GROWL, M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
- X! M2_DEMON | M2_HOSTILE | M2_NASTY },
- X { "balrog", S_DEMON, 16, 5, -2, 75, -14, (G_HELL | G_NOCORPSE | 1),
- X { { AT_WEAP, AD_PHYS, 8, 4 }, { AT_WEAP, AD_PHYS, 4, 6 },
- X! NO_ATTK, NO_ATTK, NO_ATTK },
- X! 45, 450, 0, MS_SILENT, M1_FLY | M1_BIG | M1_COLLECT | M1_STALK |
- X! M1_POIS | M1_FIRE_RES, M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY },
- X /* Named demon lords & princes plus Arch-Devils */
- X { "Juiblex", S_DEMON, 50, 3, -7, 65, -15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_ENGL, AD_DISE, 4, 10 }, { AT_SPIT, AD_ACID, 3, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_GURGLE,
- X! M1_NOPOLY | M1_FLY | M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK |
- X! M1_LORD, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY | M2_AMORPHOUS },
- X { "Yeenoghu", S_DEMON, 56, 18, -5, 80, -15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_WEAP, AD_PHYS, 3, 6 }, { AT_WEAP, AD_CONF, 2, 8 },
- X { AT_WEAP, AD_PLYS, 1, 6 }, { AT_MAGC, AD_MAGM, 2, 6 }, NO_ATTK },
- X! 50, 500, PL_NSIZ, MS_ORC, M1_NOPOLY | M1_FLY | M1_POIS |
- X! M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_LORD,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X { "Orcus", S_DEMON, 66, 9, -6, 85, -20,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X--- 1310,1341 ----
- X { "ice devil", S_DEMON, 11, 6, -4, 55, -12, (G_HELL | G_NOCORPSE | 2),
- X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
- X { AT_BITE, AD_PHYS, 2, 4 }, { AT_STNG, AD_COLD, 3, 4 }, NO_ATTK },
- X! 45, 450, 0, MS_SILENT, M1_SEE_INVIS | M1_POIS | M1_FIRE_RES |
- X! M1_COLD_RES | M1_STALK, M2_DEMON | M2_HOSTILE | M2_NASTY },
- X { "pit fiend", S_DEMON, 13, 6, -3, 65, -13, (G_HELL | G_NOCORPSE | 2),
- X { { AT_WEAP, AD_PHYS, 4, 2 }, { AT_WEAP, AD_PHYS, 4, 2 },
- X { AT_HUGS, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK }, 45, 450, 0,
- X! MS_GROWL, M1_SEE_INVIS | M1_POIS | M1_FIRE_RES | M1_STALK |
- X! M1_COLLECT, M2_DEMON | M2_HOSTILE | M2_NASTY },
- X { "balrog", S_DEMON, 16, 5, -2, 75, -14, (G_HELL | G_NOCORPSE | 1),
- X { { AT_WEAP, AD_PHYS, 8, 4 }, { AT_WEAP, AD_PHYS, 4, 6 },
- X! NO_ATTK, NO_ATTK, NO_ATTK }, 45, 450, 0, MS_SILENT,
- X! M1_FLY | M1_BIG | M1_SEE_INVIS | M1_COLLECT | M1_STALK | M1_POIS |
- X! M1_FIRE_RES, M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY },
- X /* Named demon lords & princes plus Arch-Devils */
- X { "Juiblex", S_DEMON, 50, 3, -7, 65, -15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_ENGL, AD_DISE, 4, 10 }, { AT_SPIT, AD_ACID, 3, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_GURGLE,
- X! M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_NOHANDS | M1_POIS |
- X! M1_FIRE_RES | M1_STALK | M1_LORD,
- X! M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY | M2_AMORPHOUS },
- X { "Yeenoghu", S_DEMON, 56, 18, -5, 80, -15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_WEAP, AD_PHYS, 3, 6 }, { AT_WEAP, AD_CONF, 2, 8 },
- X { AT_WEAP, AD_PLYS, 1, 6 }, { AT_MAGC, AD_MAGM, 2, 6 }, NO_ATTK },
- X! 50, 500, PL_NSIZ, MS_ORC, M1_NOPOLY | M1_FLY | M1_SEE_INVIS |
- X! M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_LORD,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X { "Orcus", S_DEMON, 66, 9, -6, 85, -20,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X***************
- X*** 1341,1372 ****
- X { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_WEAP, AD_PHYS, 3, 6 },
- X { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
- X { AT_STNG, AD_DRST, 2, 4 }, }, 50, 500, PL_NSIZ, MS_ORC,
- X! M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK |
- X! M1_COLLECT | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X { "Geryon", S_DEMON, 72, 3, -3, 75, 15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_CLAW, AD_PHYS, 3, 6 }, { AT_CLAW, AD_PHYS, 3, 6 },
- X { AT_STNG, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ,
- X! MS_JEER, M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES |
- X M1_STALK | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X { "Dispater", S_DEMON, 78, 15, -2, 80, 15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_WEAP, AD_PHYS, 4, 6 }, { AT_MAGC, AD_SPEL, 6, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
- X! M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS |
- X M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_PRINCE,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X! { "Baalzebul", S_DEMON, 89, 9, -5, 85, 20,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_BITE, AD_DRST, 2, 6 }, { AT_GAZE, AD_STUN, 2, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
- X! M1_NOPOLY | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK |
- X! M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X { "Asmodeus", S_DEMON, 105, 12, -7, 90, 20,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_CLAW, AD_PHYS, 4, 4 }, { AT_MAGC, AD_COLD, 6, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
- X! M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS |
- X M1_FIRE_RES | M1_COLD_RES | M1_STALK | M1_PRINCE,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY },
- X { "Demogorgon", S_DEMON, 106, 15, -8, 95, -20,
- X--- 1342,1374 ----
- X { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_WEAP, AD_PHYS, 3, 6 },
- X { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
- X { AT_STNG, AD_DRST, 2, 4 }, }, 50, 500, PL_NSIZ, MS_ORC,
- X! M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_POIS | M1_FIRE_RES |
- X! M1_STALK | M1_COLLECT | M1_PRINCE,
- X! M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X { "Geryon", S_DEMON, 72, 3, -3, 75, 15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_CLAW, AD_PHYS, 3, 6 }, { AT_CLAW, AD_PHYS, 3, 6 },
- X { AT_STNG, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ,
- X! MS_JEER, M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_POIS | M1_FIRE_RES |
- X M1_STALK | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X { "Dispater", S_DEMON, 78, 15, -2, 80, 15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_WEAP, AD_PHYS, 4, 6 }, { AT_MAGC, AD_SPEL, 6, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
- X! M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_HUMANOID | M1_POIS |
- X M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_PRINCE,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X! { "Baalzebub", S_DEMON, 89, 9, -5, 85, 20,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_BITE, AD_DRST, 2, 6 }, { AT_GAZE, AD_STUN, 2, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
- X! M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_POIS | M1_FIRE_RES |
- X! M1_STALK | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X { "Asmodeus", S_DEMON, 105, 12, -7, 90, 20,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_CLAW, AD_PHYS, 4, 4 }, { AT_MAGC, AD_COLD, 6, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
- X! M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_HUMANOID | M1_POIS |
- X M1_FIRE_RES | M1_COLD_RES | M1_STALK | M1_PRINCE,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY },
- X { "Demogorgon", S_DEMON, 106, 15, -8, 95, -20,
- X***************
- X*** 1374,1387 ****
- X { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_STNG, AD_DRLI, 1, 4 },
- X { AT_CLAW, AD_DISE, 1, 6 }, { AT_CLAW, AD_DISE, 1, 6 },
- X NO_ATTK }, 50, 500, PL_NSIZ, MS_GROWL, M1_NOPOLY | M1_FLY |
- X! M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK |
- X M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X #endif
- X #ifdef MAIL
- X { "mail daemon", S_DEMON, 56, 24, 10, 127, 0, (G_NOGEN | G_NOCORPSE),
- X { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 30, 300, 0,
- X! MS_SILENT, M1_NOPOLY | M1_FLY | M1_SWIM | M1_HUMANOID | M1_POIS |
- X! M1_FIRE_RES | M1_COLD_RES | M1_SLEE_RES | M1_STALK, M2_PEACEFUL },
- X /* Neither rain nor sleet nor gloom of night shall stay this courier... */
- X #endif
- X { "djinni", S_DEMON, 7, 12, 4, 30, 0, (G_NOGEN | G_NOCORPSE),
- X--- 1376,1390 ----
- X { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_STNG, AD_DRLI, 1, 4 },
- X { AT_CLAW, AD_DISE, 1, 6 }, { AT_CLAW, AD_DISE, 1, 6 },
- X NO_ATTK }, 50, 500, PL_NSIZ, MS_GROWL, M1_NOPOLY | M1_FLY |
- X! M1_SEE_INVIS | M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK |
- X M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY },
- X #endif
- X #ifdef MAIL
- X { "mail daemon", S_DEMON, 56, 24, 10, 127, 0, (G_NOGEN | G_NOCORPSE),
- X { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 30, 300, 0,
- X! MS_SILENT, M1_NOPOLY | M1_FLY | M1_SWIM | M1_SEE_INVIS |
- X! M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_COLD_RES | M1_SLEE_RES |
- X! M1_STALK, M2_PEACEFUL },
- X /* Neither rain nor sleet nor gloom of night shall stay this courier... */
- X #endif
- X { "djinni", S_DEMON, 7, 12, 4, 30, 0, (G_NOGEN | G_NOCORPSE),
- X*** src/Old/music.c Wed Aug 16 12:32:59 1989
- X--- src/music.c Thu Aug 10 10:25:43 1989
- X***************
- X*** 135,147 ****
- X charm_monsters(distance)
- X int distance;
- X {
- X! register struct monst *mtmp = fmon;
- X
- X while(mtmp) {
- X if(dist(mtmp->mx, mtmp->my) <= distance)
- X if(!resist(mtmp, SCROLL_SYM, 0, NOTELL))
- X (void) tamedog(mtmp, (struct obj *) 0);
- X! mtmp = mtmp->nmon;
- X }
- X
- X }
- X--- 135,148 ----
- X charm_monsters(distance)
- X int distance;
- X {
- X! register struct monst *mtmp = fmon, *mtmp2;
- X
- X while(mtmp) {
- X+ mtmp2 = mtmp->nmon;
- X if(dist(mtmp->mx, mtmp->my) <= distance)
- X if(!resist(mtmp, SCROLL_SYM, 0, NOTELL))
- X (void) tamedog(mtmp, (struct obj *) 0);
- X! mtmp = mtmp2;
- X }
- X
- X }
- X*** src/Old/objects.c Wed Aug 16 12:33:34 1989
- X--- src/objects.c Mon Aug 7 20:34:06 1989
- X***************
- X*** 58,70 ****
- X FOOD("pear", 7, 0, 1, 0, 50),
- X FOOD("melon", 7, 0, 1, 0, 100),
- X FOOD("banana", 7, 0, 1, 0, 80),
- X #ifdef TUTTI_FRUTTI
- X FOOD("slime mold", 75, 0, 1, 0, 250),
- X #else
- X FOOD("slice of pizza", 75, 0, 1, 0, 250),
- X #endif
- X- FOOD("carrot", 15, 0, 1, 0, 50),
- X- FOOD("clove of garlic", 5, 0, 1, 0, 40),
- X /* human food */
- X FOOD("lump of royal jelly", 0, 0, 1, 0, 200),
- X FOOD("cream pie", 25, 0, 1, 0, 100),
- X--- 58,70 ----
- X FOOD("pear", 7, 0, 1, 0, 50),
- X FOOD("melon", 7, 0, 1, 0, 100),
- X FOOD("banana", 7, 0, 1, 0, 80),
- X+ FOOD("carrot", 15, 0, 1, 0, 50),
- X+ FOOD("clove of garlic", 5, 0, 1, 0, 40),
- X #ifdef TUTTI_FRUTTI
- X FOOD("slime mold", 75, 0, 1, 0, 250),
- X #else
- X FOOD("slice of pizza", 75, 0, 1, 0, 250),
- X #endif
- X /* human food */
- X FOOD("lump of royal jelly", 0, 0, 1, 0, 200),
- X FOOD("cream pie", 25, 0, 1, 0, 100),
- X*** src/Old/objnam.c Wed Aug 16 12:34:11 1989
- X--- src/objnam.c Tue Aug 15 20:05:30 1989
- X***************
- X*** 633,639 ****
- X Strcpy(str, oldstr);
- X
- X /* Search for common compounds, i.e. lump of royal jelly */
- X! for(excess=0, spot=str; *spot; spot++) {
- X if (!strncmp(spot, " of ", 4)
- X || !strncmp(spot, " labeled ", 9)
- X || !strncmp(spot, " called ", 8)
- X--- 633,639 ----
- X Strcpy(str, oldstr);
- X
- X /* Search for common compounds, i.e. lump of royal jelly */
- X! for(excess=(char *)0, spot=str; *spot; spot++) {
- X if (!strncmp(spot, " of ", 4)
- X || !strncmp(spot, " labeled ", 9)
- X || !strncmp(spot, " called ", 8)
- X***************
- X*** 651,657 ****
- X || !strncmp(spot, " du ", 4)
- X #endif
- X ) {
- X! excess = oldstr + (spot - str);
- X *spot = 0;
- X break;
- X }
- X--- 651,657 ----
- X || !strncmp(spot, " du ", 4)
- X #endif
- X ) {
- X! excess = oldstr + (int) (spot - str);
- X *spot = 0;
- X break;
- X }
- X***************
- X*** 1102,1108 ****
- X goto typfnd;
- X }
- X #endif
- X! if (strlen(bp) == 1 && index(obj_symbols, *bp)) {
- X let = *bp;
- X goto any;
- X }
- X--- 1102,1108 ----
- X goto typfnd;
- X }
- X #endif
- X! if (strlen(bp) == 1 && index(obj_symbols, *bp) && *bp != ILLOBJ_SYM) {
- X let = *bp;
- X goto any;
- X }
- X***************
- X*** 1374,1379 ****
- X--- 1374,1383 ----
- X } else if (spesgn < 0) {
- X curse(otmp);
- X }
- X+
- X+ /* prevent wishing abuse */
- X+ if (otmp->otyp == WAN_WISHING || otmp->otyp == MAGIC_LAMP)
- X+ otmp->recharged = 1;
- X
- X /* set poisoned */
- X if (ispoisoned) {
- X*** src/Old/options.c Wed Aug 16 12:34:52 1989
- X--- src/options.c Fri Aug 4 12:13:24 1989
- X***************
- X*** 674,681 ****
- X (!strncmp(buf, "tin of ", 7) && name_to_mon(buf+7) > -1) ||
- X !strcmp(buf, "empty tin") ||
- X !strcmp(buf, "tin of spinach") ||
- X! ((!strncmp(eos(buf)-6," corpse",6) ||
- X! !strncmp(eos(buf)-3, " egg",3))
- X && name_to_mon(buf) > -1))
- X {
- X Strcpy(buf, pl_fruit);
- X--- 674,681 ----
- X (!strncmp(buf, "tin of ", 7) && name_to_mon(buf+7) > -1) ||
- X !strcmp(buf, "empty tin") ||
- X !strcmp(buf, "tin of spinach") ||
- X! ((!strncmp(eos(buf)-6," corpse",7) ||
- X! !strncmp(eos(buf)-3, " egg",4))
- X && name_to_mon(buf) > -1))
- X {
- X Strcpy(buf, pl_fruit);
- X*** src/Old/pager.c Wed Aug 16 12:35:16 1989
- X--- src/pager.c Wed Aug 16 10:48:06 1989
- X***************
- X*** 21,26 ****
- X--- 21,29 ----
- X
- X static void page_more();
- X
- X+ const char nonlets[] = { S_EEL, S_CHAMELEON, S_DEMON, S_GHOST, S_HUMAN,
- X+ S_GOLEM, 0 };
- X+
- X int
- X dowhatis()
- X {
- X***************
- X*** 28,90 ****
- X char bufr[BUFSZ+6];
- X register char *buf = &bufr[6], *ep, q;
- X register struct monst *mtmp;
- X
- X if(!(fp = fopen(DATAFILE, "r")))
- X pline("Cannot open data file!");
- X else {
- X coord cc;
- X uchar r;
- X
- X pline ("Specify unknown object by cursor? ");
- X q = ynq();
- X- cc.x = cc.y = -1;
- X if (q == 'q') {
- X (void) fclose(fp);
- X return 0;
- X } else if (q == 'n') {
- X pline("Specify what? ");
- X r = readchar();
- X } else {
- X if(flags.verbose)
- X! pline("Please move the cursor to the unknown object.");
- X! getpos(&cc, TRUE, "the unknown object");
- X r = levl[cc.x][cc.y].scrsym;
- X }
- X
- X! if (r == showsyms.stone) q = defsyms.stone;
- X! else if (r == showsyms.vwall) q = defsyms.vwall;
- X! else if (r == showsyms.hwall) q = defsyms.hwall;
- X! else if (r == showsyms.tlcorn) q = defsyms.tlcorn;
- X! else if (r == showsyms.trcorn) q = defsyms.trcorn;
- X! else if (r == showsyms.blcorn) q = defsyms.blcorn;
- X! else if (r == showsyms.brcorn) q = defsyms.brcorn;
- X! else if (r == showsyms.crwall) q = defsyms.crwall;
- X! else if (r == showsyms.tuwall) q = defsyms.tuwall;
- X! else if (r == showsyms.tdwall) q = defsyms.tdwall;
- X! else if (r == showsyms.tlwall) q = defsyms.tlwall;
- X! else if (r == showsyms.trwall) q = defsyms.trwall;
- X! else if (r == showsyms.door) q = defsyms.door;
- X! else if (r == showsyms.room) q = defsyms.room;
- X! else if (r == showsyms.corr) q = defsyms.corr;
- X! else if (r == showsyms.upstair) q = defsyms.upstair;
- X! else if (r == showsyms.dnstair) q = defsyms.dnstair;
- X! else if (r == showsyms.trap) q = defsyms.trap;
- X #ifdef FOUNTAINS
- X! else if (r == showsyms.pool) q = defsyms.pool;
- X! else if (r == showsyms.fountain) q = defsyms.fountain;
- X #endif
- X- #ifdef THRONES
- X- else if (r == showsyms.throne) q = defsyms.throne;
- X- #endif
- X- else if (r == showsyms.web) q = defsyms.web;
- X #ifdef SINKS
- X! else if (r == showsyms.sink) q = defsyms.sink;
- X #endif
- X #ifdef ALTARS
- X! else if (r == showsyms.altar) q = defsyms.altar;
- X #endif
- X! else
- X! q = r;
- X if (index(quitchars, q)) {
- X (void) fclose(fp); /* sweet@scubed */
- X return 0;
- X--- 31,118 ----
- X char bufr[BUFSZ+6];
- X register char *buf = &bufr[6], *ep, q;
- X register struct monst *mtmp;
- X+ #ifdef OS2_CODEVIEW
- X+ char tmp[PATHLEN];
- X
- X+ Strcpy(tmp,hackdir);
- X+ append_slash(tmp);
- X+ Strcat(tmp,DATAFILE);
- X+ if(!(fp = fopen(tmp,"r")))
- X+ #else
- X if(!(fp = fopen(DATAFILE, "r")))
- X+ #endif
- X pline("Cannot open data file!");
- X else {
- X coord cc;
- X uchar r;
- X+ boolean bycurs = FALSE;
- X
- X pline ("Specify unknown object by cursor? ");
- X q = ynq();
- X if (q == 'q') {
- X (void) fclose(fp);
- X return 0;
- X } else if (q == 'n') {
- X+ cc.x = cc.y = -1;
- X pline("Specify what? ");
- X r = readchar();
- X } else {
- X+ bycurs = TRUE;
- X+ cc.x = u.ux;
- X+ cc.y = u.uy;
- X+ selobj:
- X if(flags.verbose)
- X! pline("Please move the cursor to an unknown object.");
- X! getpos(&cc, FALSE, "an unknown object");
- X! if (cc.x < 0) {
- X! (void) fclose(fp); /* sweet@scubed */
- X! return 0;
- X! }
- X r = levl[cc.x][cc.y].scrsym;
- X }
- X
- X! #define conv_sym(x) if(r == showsyms.x) q = defsyms.x
- X! conv_sym(stone);
- X! else conv_sym(vwall);
- X! else conv_sym(hwall);
- X! else conv_sym(tlcorn);
- X! else conv_sym(trcorn);
- X! else conv_sym(blcorn);
- X! else conv_sym(brcorn);
- X! else conv_sym(crwall);
- X! else conv_sym(tuwall);
- X! else conv_sym(tdwall);
- X! else conv_sym(tlwall);
- X! else conv_sym(trwall);
- X! else conv_sym(door);
- X! else conv_sym(room);
- X! else conv_sym(corr);
- X! else conv_sym(upstair);
- X! else conv_sym(dnstair);
- X! else conv_sym(trap);
- X! else conv_sym(web);
- X! else conv_sym(pool);
- X #ifdef FOUNTAINS
- X! else conv_sym(fountain);
- X #endif
- X #ifdef SINKS
- X! else conv_sym(sink);
- X! #endif
- X! #ifdef THRONES
- X! else conv_sym(throne);
- X #endif
- X #ifdef ALTARS
- X! else conv_sym(altar);
- X! #endif
- X! #ifdef STRONGHOLD
- X! else conv_sym(upladder);
- X! else conv_sym(dnladder);
- X! else conv_sym(dbvwall);
- X! else conv_sym(dbhwall);
- X #endif
- X! else q = r;
- X! #undef conv_sym
- X!
- X if (index(quitchars, q)) {
- X (void) fclose(fp); /* sweet@scubed */
- X return 0;
- X***************
- X*** 91,96 ****
- X--- 119,130 ----
- X }
- X if(q == '%') {
- X pline("%% a piece of food");
- X+ if(bycurs) {
- X+ buf = &bufr[6];
- X+ more();
- X+ rewind(fp);
- X+ goto selobj;
- X+ }
- X (void) fclose(fp);
- X return 0;
- X }
- X***************
- X*** 108,125 ****
- X (void) strncpy(buf+1, " ", 7);
- X }
- X pline(buf);
- X! if(cc.x != -1 && IS_ALTAR(levl[cc.x][cc.y].typ)) {
- X! int type = levl[u.ux][u.uy].altarmask & ~A_SHRINE;
- X! pline("(%s)", (type==0) ? "chaotic" :
- X! (type==1) ? "neutral" : "lawful");
- X }
- X! if (!Invisible && u.ux==cc.x && u.uy==cc.y) {
- X pline("(%s named %s)",
- X #ifdef POLYSELF
- X u.mtimedone ? mons[u.umonnum].mname :
- X #endif
- X pl_character, plname);
- X! } else if((q >= 'A' && q <= 'z') || index(";:& @`",q)) {
- X for(mtmp = fmon; mtmp; mtmp = mtmp->nmon)
- X if(mtmp->mx == cc.x && mtmp->my == cc.y) {
- X pline("(%s%s)",
- X--- 142,209 ----
- X (void) strncpy(buf+1, " ", 7);
- X }
- X pline(buf);
- X! if(cc.x != -1) {
- X! #ifdef ALTARS
- X! if (r == showsyms.altar && q == defsyms.altar &&
- X! (IS_ALTAR(levl[cc.x][cc.y].typ) ||
- X! (levl[cc.x][cc.y].mmask &&
- X! m_at(cc.x,cc.y)->mimic))
- X! ) {
- X! int type = levl[cc.x][cc.y].altarmask &
- X! ~A_SHRINE;
- X! pline((type == A_CHAOS) ? "(chaotic)" :
- X! (type == A_NEUTRAL) ? "(neutral)" :
- X! "(lawful)");
- X! } else
- X! if (q == CHAIN_SYM && levl[cc.x][cc.y].omask)
- X! pline("(chain)");
- X! else
- X! #endif
- X! if (r == showsyms.door && q == defsyms.door &&
- X! (IS_DOOR(levl[cc.x][cc.y].typ) ||
- X! (levl[cc.x][cc.y].mmask &&
- X! m_at(cc.x,cc.y)->mimic))) {
- X! /* Note: this will say mimics in walls are
- X! * closed doors, which we want.
- X! */
- X! switch(levl[cc.x][cc.y].doormask & ~D_TRAPPED) {
- X! case D_NODOOR: pline("(doorway)"); break;
- X! case D_BROKEN: pline("(broken door)"); break;
- X! case D_ISOPEN: pline("(open door)"); break;
- X! default: pline("(closed door)"); break;
- X! /* locked or not */
- X! }
- X! }
- X! #ifdef SPELLS
- X! else
- X! if (q == SPBOOK_SYM && levl[cc.x][cc.y].omask)
- X! pline("(spellbook)");
- X! #endif
- X! #ifdef STRONGHOLD
- X! else
- X! if (((r == showsyms.dbvwall && q == defsyms.dbvwall) ||
- X! (r == showsyms.dbvwall && q == defsyms.dbvwall)) &&
- X! is_db_wall(cc.x,cc.y))
- X! pline("(raised drawbridge)");
- X! #endif
- X! #ifdef SINKS
- X! else
- X! if (r == showsyms.sink && q == defsyms.sink &&
- X! IS_SINK(levl[cc.x][cc.y].typ))
- X! pline("(sink)");
- X! #endif
- X }
- X! if (!Invisible
- X! #ifdef POLYSELF
- X! && !u.uundetected
- X! #endif
- X! && u.ux==cc.x && u.uy==cc.y) {
- X pline("(%s named %s)",
- X #ifdef POLYSELF
- X u.mtimedone ? mons[u.umonnum].mname :
- X #endif
- X pl_character, plname);
- X! } else if((q >= 'A' && q <= 'z') || index(nonlets,q)) {
- X for(mtmp = fmon; mtmp; mtmp = mtmp->nmon)
- X if(mtmp->mx == cc.x && mtmp->my == cc.y) {
- X pline("(%s%s)",
- X***************
- X*** 137,142 ****
- X--- 221,232 ----
- X return 0;
- X }
- X }
- X+ if(bycurs) {
- X+ buf = &bufr[6];
- X+ more();
- X+ rewind(fp);
- X+ goto selobj;
- X+ }
- X (void) fclose(fp); /* kopper@psuvax1 */
- X return 0;
- X }
- X***************
- X*** 152,162 ****
- X--- 242,261 ----
- X FILE *fp;
- X char bufr[BUFSZ+6];
- X register char *buf = &bufr[6], *ep, q, ctrl;
- X+ #ifdef OS2_CODEVIEW
- X+ char tmp[PATHLEN];
- X
- X+ Strcpy(tmp,hackdir);
- X+ append_slash(tmp);
- X+ Strcat(tmp,CMDHELPFILE);
- X+ if(!(fp = fopen(tmp,"r"))) {
- X+ #else
- X if(!(fp = fopen(CMDHELPFILE, "r"))) {
- X+ #endif
- X pline("Cannot open data file!");
- X return 0;
- X }
- X+
- X pline("What command? ");
- X #ifdef UNIX
- X introff();
- X***************
- X*** 456,462 ****
- X for (tl = texthead; tl; tl = tl->next_line) {
- X if (page_line (tl->line_text)) {
- X set_pager(2);
- X! goto cleanup;
- X }
- X }
- X if(text) {
- X--- 555,565 ----
- X for (tl = texthead; tl; tl = tl->next_line) {
- X if (page_line (tl->line_text)) {
- X set_pager(2);
- X! while(tl = texthead) {
- X! texthead = tl->next_line;
- X! free((genericptr_t) tl);
- X! }
- X! return;
- X }
- X }
- X if(text) {
- X***************
- X*** 467,473 ****
- X }
- X }
- X
- X- cleanup:
- X while(tl = texthead) {
- X texthead = tl->next_line;
- X free((genericptr_t) tl);
- X--- 570,575 ----
- X***************
- X*** 592,599 ****
- X--- 694,709 ----
- X #else
- X {
- X FILE *f; /* free after Robert Viduya */
- X+ #ifdef OS2_CODEVIEW
- X+ char tmp[PATHLEN];
- X
- X+ Strcpy(tmp,hackdir);
- X+ append_slash(tmp);
- X+ Strcat(tmp,fnam);
- X+ if ((f = fopen (tmp, "r")) == (FILE *) 0) {
- X+ #else
- X if ((f = fopen (fnam, "r")) == (FILE *) 0) {
- X+ #endif
- X if(!silent) {
- X home(); perror (fnam); flags.toplin = 1;
- X pline ("Cannot open %s.", fnam);
- X*** src/Old/pickup.c Wed Aug 16 12:35:55 1989
- X--- src/pickup.c Tue Aug 15 20:34:53 1989
- X***************
- X*** 198,209 ****
- X pline("Touching the dead cockatrice is a fatal mistake.");
- X You("turn to stone.");
- X You("die...");
- X! killer = "cockatrice cadaver";
- X! done("stoned");
- X }
- X
- X if(obj->otyp == SCR_SCARE_MONSTER){
- X! if(!obj->spe) obj->spe = 1;
- X else {
- X pline("The scroll turns to dust as you pick it up.");
- X if(!(objects[SCR_SCARE_MONSTER].oc_name_known) &&
- X--- 198,210 ----
- X pline("Touching the dead cockatrice is a fatal mistake.");
- X You("turn to stone.");
- X You("die...");
- X! killer = "cockatrice corpse";
- X! done(STONING);
- X }
- X
- X if(obj->otyp == SCR_SCARE_MONSTER){
- X! if(obj->blessed) obj->blessed = 0;
- X! else if(!obj->spe && !obj->cursed) obj->spe = 1;
- X else {
- X pline("The scroll turns to dust as you pick it up.");
- X if(!(objects[SCR_SCARE_MONSTER].oc_name_known) &&
- X*** src/Old/polyself.c Wed Aug 16 12:36:18 1989
- X--- src/polyself.c Tue Aug 15 22:58:32 1989
- X***************
- X*** 127,133 ****
- X } else {
- X Your("new form doesn't seem healthy enough to survive.");
- X killer="unsuccessful polymorph";
- X! done("died");
- X }
- X }
- X set_uasmon();
- X--- 127,133 ----
- X } else {
- X Your("new form doesn't seem healthy enough to survive.");
- X killer="unsuccessful polymorph";
- X! done(DIED);
- X }
- X }
- X set_uasmon();
- X***************
- X*** 160,166 ****
- X if (Inhell && !Fire_resistance) {
- X You("burn to a crisp.");
- X killer = "unwise polymorph";
- X! done("burned");
- X }
- X }
- X
- X--- 160,166 ----
- X if (Inhell && !Fire_resistance) {
- X You("burn to a crisp.");
- X killer = "unwise polymorph";
- X! done(BURNING);
- X }
- X }
- X
- X***************
- X*** 358,368 ****
- X set_uasmon();
- X You("return to %sn form!",(pl_character[0]=='E')?"elve":"huma");
- X
- X! if (u.uhp < 1) done("died");
- X if (!Fire_resistance && Inhell) {
- X You("burn to a crisp.");
- X killer = "dissipating polymorph spell";
- X! done("burned");
- X }
- X if (!uarmg) selftouch("No longer petrify-resistant, you");
- X if (sticky) uunstick();
- X--- 358,368 ----
- X set_uasmon();
- X You("return to %sn form!",(pl_character[0]=='E')?"elve":"huma");
- X
- X! if (u.uhp < 1) done(DIED);
- X if (!Fire_resistance && Inhell) {
- X You("burn to a crisp.");
- X killer = "dissipating polymorph spell";
- X! done(BURNING);
- X }
- X if (!uarmg) selftouch("No longer petrify-resistant, you");
- X if (sticky) uunstick();
- X***************
- X*** 507,513 ****
- X looked = 1;
- X if (Invis && !perceives(mtmp->data))
- X pline("%s seems not to notice your gaze.", Monnam(mtmp));
- X! else if (mtmp->minvis && !See_invisible)
- X You("can't see where to gaze at %s.", Monnam(mtmp));
- X else if (mtmp->mimic)
- X continue;
- X--- 507,513 ----
- X looked = 1;
- X if (Invis && !perceives(mtmp->data))
- X pline("%s seems not to notice your gaze.", Monnam(mtmp));
- X! else if (mtmp->minvis && !See_invisible && !Telepat)
- X You("can't see where to gaze at %s.", Monnam(mtmp));
- X else if (mtmp->mimic)
- X continue;
- X***************
- X*** 547,554 ****
- X #ifdef MEDUSA
- X if ((mtmp->data==&mons[PM_MEDUSA]) && !mtmp->mcan) {
- X pline("Gazing at an awake medusa is not a very good idea...");
- X You("turn to stone...");
- X! done("stoned");
- X }
- X #endif
- X }
- X--- 547,555 ----
- X #ifdef MEDUSA
- X if ((mtmp->data==&mons[PM_MEDUSA]) && !mtmp->mcan) {
- X pline("Gazing at an awake medusa is not a very good idea...");
- X+ /* as if gazing at a sleeping anything is fruitful... */
- X You("turn to stone...");
- X! done(STONING);
- X }
- X #endif
- X }
- X*** src/Old/potion.c Thu Jul 27 16:56:52 1989
- X--- src/potion.c Wed Aug 16 22:13:59 1989
- X***************
- X*** 80,86
- X {
- X long old = Blinded;
- X
- X! if (!xtime && old) {
- X if (talk) {
- X if (Hallucination) pline("Oh, like, wow! What a rush.");
- X else You("can see again.");
- X
- X--- 80,86 -----
- X {
- X long old = Blinded;
- X
- X! if (!xtime && old && !Blindfolded) {
- X if (talk) {
- X if (Hallucination) pline("Oh, like, wow! What a rush.");
- X else You("can see again.");
- X***************
- X*** 476,482
- X case POT_GAIN_LEVEL:
- X if (otmp->cursed) {
- X unkn++;
- X- You("rise up, through the ceiling!");
- X /* they went up a level */
- X goto_level(dlevel-1, FALSE);
- X break;
- X
- X--- 476,481 -----
- X case POT_GAIN_LEVEL:
- X if (otmp->cursed) {
- X unkn++;
- X /* they went up a level */
- X if(dlevel > 1 && dlevel <= MAXLEVEL) {
- X You("rise up, through the ceiling!");
- X***************
- X*** 478,484
- X unkn++;
- X You("rise up, through the ceiling!");
- X /* they went up a level */
- X! goto_level(dlevel-1, FALSE);
- X break;
- X }
- X pluslvl();
- X
- X--- 477,486 -----
- X if (otmp->cursed) {
- X unkn++;
- X /* they went up a level */
- X! if(dlevel > 1 && dlevel <= MAXLEVEL) {
- X! You("rise up, through the ceiling!");
- X! goto_level(dlevel-1, FALSE);
- X! } else You("have an uneasy feeling.");
- X break;
- X }
- X pluslvl();
- X***************
- X*** 979,985
- X
- X mnexto(mtmp);
- X if (!Blind)
- X! pline("In a cloud of smoke, a djinni emerges!");
- X else You("smell acrid fumes.");
- X if (!Blind)
- X pline("%s speaks.", Monnam(mtmp));
- X
- X--- 981,987 -----
- X
- X mnexto(mtmp);
- X if (!Blind)
- X! pline("In a cloud of smoke, %s emerges!", defmonnam(mtmp));
- X else You("smell acrid fumes.");
- X if (!Blind)
- X pline("%s speaks.", Monnam(mtmp));
- X***************
- X*** 997,1003
- X mtmp->mpeaceful = 1;
- X break;
- X case 3 : pline("\"It is about time!\"");
- X! pline("The djinni vanishes.");
- X mongone(mtmp);
- X break;
- X default: pline("\"You disturbed me, fool!\"");
- X
- X--- 999,1006 -----
- X mtmp->mpeaceful = 1;
- X break;
- X case 3 : pline("\"It is about time!\"");
- X! pline("The %s vanishes.",
- X! Hallucination ? rndmonnam() : "djinni");
- X mongone(mtmp);
- X break;
- X default: pline("\"You disturbed me, fool!\"");
- X*** src/Old/pray.c Sun Jul 30 23:58:10 1989
- X--- src/pray.c Wed Aug 16 22:14:01 1989
- X***************
- X*** 1,5
- X /* SCCS Id: @(#)pray.c 3.0 89/01/10
- X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
- X /* NetHack may be freely redistributed. See license for details. */
- X
- X #include "hack.h"
- X
- X--- 1,6 -----
- X /* SCCS Id: @(#)pray.c 3.0 89/01/10
- X /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
- X+ /* Copyright (c) Benson I. Margulies, Mike Stephenson, Steve Linhart, 1989. */
- X /* NetHack may be freely redistributed. See license for details. */
- X
- X #include "hack.h"
- X***************
- X*** 37,50
- X 0,0,0,0
- X };
- X
- X! #define TROUBLE_STONED 1
- X! #define TROUBLE_STRANGLED 2
- X! #define TROUBLE_SICK 3
- X! #define TROUBLE_STARVING 4
- X! #define TROUBLE_HIT 5
- X! #define TROUBLE_STUCK_IN_WALL 6
- X! #define TROUBLE_LEVITATED_FOREVER 7
- X! #define TROUBLE_BLINDED_FOREVER 8
- X
- X #define TROUBLE_PUNISHED (-1)
- X #define TROUBLE_LYCANTHROPE (-2)
- X
- X--- 38,51 -----
- X 0,0,0,0
- X };
- X
- X! #define TROUBLE_STONED 8
- X! #define TROUBLE_STRANGLED 7
- X! #define TROUBLE_SICK 6
- X! #define TROUBLE_STARVING 5
- X! #define TROUBLE_HIT 4
- X! #define TROUBLE_STUCK_IN_WALL 3
- X! #define TROUBLE_CURSED_BLINDFOLD 2
- X! #define TROUBLE_CURSED_LEVITATION 1
- X
- X #define TROUBLE_LYCANTHROPE (-1)
- X #define TROUBLE_PUNISHED (-2)
- X***************
- X*** 46,53
- X #define TROUBLE_LEVITATED_FOREVER 7
- X #define TROUBLE_BLINDED_FOREVER 8
- X
- X! #define TROUBLE_PUNISHED (-1)
- X! #define TROUBLE_LYCANTHROPE (-2)
- X #define TROUBLE_CURSED_ITEMS (-3)
- X #define TROUBLE_HUNGRY (-4)
- X #define TROUBLE_POISONED (-5)
- X
- X--- 47,54 -----
- X #define TROUBLE_CURSED_BLINDFOLD 2
- X #define TROUBLE_CURSED_LEVITATION 1
- X
- X! #define TROUBLE_LYCANTHROPE (-1)
- X! #define TROUBLE_PUNISHED (-2)
- X #define TROUBLE_CURSED_ITEMS (-3)
- X #define TROUBLE_BLIND (-4)
- X #define TROUBLE_HUNGRY (-5)
- X***************
- X*** 49,61
- X #define TROUBLE_PUNISHED (-1)
- X #define TROUBLE_LYCANTHROPE (-2)
- X #define TROUBLE_CURSED_ITEMS (-3)
- X! #define TROUBLE_HUNGRY (-4)
- X! #define TROUBLE_POISONED (-5)
- X! #define TROUBLE_HALLUCINATION (-6)
- X! #define TROUBLE_BLIND (-7)
- X! #define TROUBLE_WOUNDED_LEGS (-8)
- X! #define TROUBLE_STUNNED (-9)
- X! #define TROUBLE_CONFUSED (-10)
- X
- X /* We could force rehumanize of polyselfed people, but we can't tell
- X unintentional shape changes from the other kind. Oh well. */
- X
- X--- 50,62 -----
- X #define TROUBLE_LYCANTHROPE (-1)
- X #define TROUBLE_PUNISHED (-2)
- X #define TROUBLE_CURSED_ITEMS (-3)
- X! #define TROUBLE_BLIND (-4)
- X! #define TROUBLE_HUNGRY (-5)
- X! #define TROUBLE_POISONED (-6)
- X! #define TROUBLE_WOUNDED_LEGS (-7)
- X! #define TROUBLE_STUNNED (-8)
- X! #define TROUBLE_CONFUSED (-9)
- X! #define TROUBLE_HALLUCINATION (-10)
- X
- X /* We could force rehumanize of polyselfed people, but we can't tell
- X unintentional shape changes from the other kind. Oh well. */
- X***************
- X*** 108,116
- X ) return(TROUBLE_STUCK_IN_WALL);
- X if((uarmf && uarmf->otyp==LEVITATION_BOOTS && uarmf->cursed) ||
- X (uleft && uleft->otyp==RIN_LEVITATION && uleft->cursed) ||
- X! (uright && uright->otyp==RIN_LEVITATION && uleft->cursed))
- X! return(TROUBLE_LEVITATED_FOREVER);
- X! if(ublindf && ublindf->cursed) return(TROUBLE_BLINDED_FOREVER);
- X
- X if(Punished) return(TROUBLE_PUNISHED);
- X #ifdef POLYSELF
- X
- X--- 109,117 -----
- X ) return(TROUBLE_STUCK_IN_WALL);
- X if((uarmf && uarmf->otyp==LEVITATION_BOOTS && uarmf->cursed) ||
- X (uleft && uleft->otyp==RIN_LEVITATION && uleft->cursed) ||
- X! (uright && uright->otyp==RIN_LEVITATION && uright->cursed))
- X! return(TROUBLE_CURSED_LEVITATION);
- X! if(ublindf && ublindf->cursed) return(TROUBLE_CURSED_BLINDFOLD);
- X
- X #ifdef POLYSELF
- X if(u.ulycn >= 0) return(TROUBLE_LYCANTHROPE);
- X***************
- X*** 112,118
- X return(TROUBLE_LEVITATED_FOREVER);
- X if(ublindf && ublindf->cursed) return(TROUBLE_BLINDED_FOREVER);
- X
- X- if(Punished) return(TROUBLE_PUNISHED);
- X #ifdef POLYSELF
- X if(u.ulycn >= 0) return(TROUBLE_LYCANTHROPE);
- X #endif
- X
- X--- 113,118 -----
- X return(TROUBLE_CURSED_LEVITATION);
- X if(ublindf && ublindf->cursed) return(TROUBLE_CURSED_BLINDFOLD);
- X
- X #ifdef POLYSELF
- X if(u.ulycn >= 0) return(TROUBLE_LYCANTHROPE);
- X #endif
- X***************
- X*** 116,121
- X #ifdef POLYSELF
- X if(u.ulycn >= 0) return(TROUBLE_LYCANTHROPE);
- X #endif
- X for(otmp=invent; otmp; otmp=otmp->nobj)
- X if((otmp->otyp==LOADSTONE || otmp->otyp==LUCKSTONE) &&
- X otmp->cursed)
- X
- X--- 116,122 -----
- X #ifdef POLYSELF
- X if(u.ulycn >= 0) return(TROUBLE_LYCANTHROPE);
- X #endif
- X+ if(Punished) return(TROUBLE_PUNISHED);
- X for(otmp=invent; otmp; otmp=otmp->nobj)
- X if((otmp->otyp==LOADSTONE || otmp->otyp==LUCKSTONE) &&
- X otmp->cursed)
- X***************
- X*** 137,142
- X
- X return(TROUBLE_CURSED_ITEMS);
- X
- X if(u.uhs >= HUNGRY) return(TROUBLE_HUNGRY);
- X for(i=0; i<A_MAX; i++)
- X if(ABASE(i) < AMAX(i)) return(TROUBLE_POISONED);
- X
- X--- 138,144 -----
- X
- X return(TROUBLE_CURSED_ITEMS);
- X
- X+ if(Blinded > 1) return(TROUBLE_BLIND);
- X if(u.uhs >= HUNGRY) return(TROUBLE_HUNGRY);
- X for(i=0; i<A_MAX; i++)
- X if(ABASE(i) < AMAX(i)) return(TROUBLE_POISONED);
- X***************
- X*** 140,147
- X if(u.uhs >= HUNGRY) return(TROUBLE_HUNGRY);
- X for(i=0; i<A_MAX; i++)
- X if(ABASE(i) < AMAX(i)) return(TROUBLE_POISONED);
- X- if(Hallucination) return(TROUBLE_HALLUCINATION);
- X- if(Blinded > 1) return(TROUBLE_BLIND);
- X if(Wounded_legs) return (TROUBLE_WOUNDED_LEGS);
- X if(HStun) return (TROUBLE_STUNNED);
- X if(HConfusion) return (TROUBLE_CONFUSED);
- X
- X--- 142,147 -----
- X if(u.uhs >= HUNGRY) return(TROUBLE_HUNGRY);
- X for(i=0; i<A_MAX; i++)
- X if(ABASE(i) < AMAX(i)) return(TROUBLE_POISONED);
- X if(Wounded_legs) return (TROUBLE_WOUNDED_LEGS);
- X if(HStun) return (TROUBLE_STUNNED);
- X if(HConfusion) return (TROUBLE_CONFUSED);
- X***************
- X*** 145,150
- X if(Wounded_legs) return (TROUBLE_WOUNDED_LEGS);
- X if(HStun) return (TROUBLE_STUNNED);
- X if(HConfusion) return (TROUBLE_CONFUSED);
- X
- X return(0);
- X }
- X
- X--- 145,151 -----
- X if(Wounded_legs) return (TROUBLE_WOUNDED_LEGS);
- X if(HStun) return (TROUBLE_STUNNED);
- X if(HConfusion) return (TROUBLE_CONFUSED);
- X+ if(Hallucination) return(TROUBLE_HALLUCINATION);
- X
- X return(0);
- X }
- X***************
- X*** 194,200
- X Your("surroundings change.");
- X tele();
- X break;
- X! case TROUBLE_LEVITATED_FOREVER:
- X if (uarmf && uarmf->otyp==LEVITATION_BOOTS
- X && uarmf->cursed)
- X otmp = uarmf;
- X
- X--- 195,201 -----
- X Your("surroundings change.");
- X tele();
- X break;
- X! case TROUBLE_CURSED_LEVITATION:
- X if (uarmf && uarmf->otyp==LEVITATION_BOOTS
- X && uarmf->cursed)
- X otmp = uarmf;
- X***************
- X*** 208,214
- X }
- X goto decurse;
- X break;
- X! case TROUBLE_BLINDED_FOREVER:
- X otmp = ublindf;
- X goto decurse;
- X break;
- X
- X--- 209,215 -----
- X }
- X goto decurse;
- X break;
- X! case TROUBLE_CURSED_BLINDFOLD:
- X otmp = ublindf;
- X goto decurse;
- X break;
- X***************
- X*** 404,410
- X }
- X You("fry to a crisp.");
- X killer = "holy wrath";
- X! done("died");
- X break;
- X }
- X u.ublesscnt = rnz(300);
- X
- X--- 405,411 -----
- X }
- X You("fry to a crisp.");
- X killer = "holy wrath";
- X! done(DIED);
- X break;
- X }
- X u.ublesscnt = rnz(300);
- X***************
- X*** 545,552
- X }
- X break;
- X }
- X! case 5: pline("A voice booms out: \"Thou hast pleased me with thy progress,\"");
- X! pline("\"and thus I grant thee the gift of ");
- X if (!(HTelepat & INTRINSIC)) {
- X HTelepat |= INTRINSIC;
- X addtopl("Telepathy!\"");
- X
- X--- 546,555 -----
- X }
- X break;
- X }
- X! case 5:
- X! {
- X! char *msg="\"and thus I grant thee the gift of %s!\"";
- X! pline("A voice booms out: \"Thou hast pleased me with thy progress,\"");
- X if (!(HTelepat & INTRINSIC)) {
- X HTelepat |= INTRINSIC;
- X pline(msg, "Telepathy");
- X***************
- X*** 549,555
- X pline("\"and thus I grant thee the gift of ");
- X if (!(HTelepat & INTRINSIC)) {
- X HTelepat |= INTRINSIC;
- X! addtopl("Telepathy!\"");
- X } else if (!(Fast & INTRINSIC)) {
- X Fast |= INTRINSIC;
- X addtopl("Speed!\"");
- X
- X--- 552,558 -----
- X pline("A voice booms out: \"Thou hast pleased me with thy progress,\"");
- X if (!(HTelepat & INTRINSIC)) {
- X HTelepat |= INTRINSIC;
- X! pline(msg, "Telepathy");
- X } else if (!(Fast & INTRINSIC)) {
- X Fast |= INTRINSIC;
- X pline(msg, "Speed");
- X***************
- X*** 552,558
- X addtopl("Telepathy!\"");
- X } else if (!(Fast & INTRINSIC)) {
- X Fast |= INTRINSIC;
- X! addtopl("Speed!\"");
- X } else if (!(Stealth & INTRINSIC)) {
- X Stealth |= INTRINSIC;
- X addtopl("Stealth!\"");
- X
- X--- 555,561 -----
- X pline(msg, "Telepathy");
- X } else if (!(Fast & INTRINSIC)) {
- X Fast |= INTRINSIC;
- X! pline(msg, "Speed");
- X } else if (!(Stealth & INTRINSIC)) {
- X Stealth |= INTRINSIC;
- X pline(msg, "Stealth");
- X***************
- X*** 555,561
- X addtopl("Speed!\"");
- X } else if (!(Stealth & INTRINSIC)) {
- X Stealth |= INTRINSIC;
- X! addtopl("Stealth!\"");
- X } else {
- X if (!(Protection & INTRINSIC)) {
- X Protection |= INTRINSIC;
- X
- X--- 558,564 -----
- X pline(msg, "Speed");
- X } else if (!(Stealth & INTRINSIC)) {
- X Stealth |= INTRINSIC;
- X! pline(msg, "Stealth");
- X } else {
- X if (!(Protection & INTRINSIC)) {
- X Protection |= INTRINSIC;
- X***************
- X*** 561,567
- X Protection |= INTRINSIC;
- X if (!u.ublessed) u.ublessed = rnd(3) + 1;
- X } else u.ublessed++;
- X! addtopl("our protection!\"");
- X }
- X pline ("\"Use it wisely in my name!\"");
- X break;
- X
- X--- 564,570 -----
- X Protection |= INTRINSIC;
- X if (!u.ublessed) u.ublessed = rnd(3) + 1;
- X } else u.ublessed++;
- X! pline(msg, "my protection");
- X }
- X pline ("\"Use it wisely in my name!\"");
- X break;
- X***************
- X*** 565,571
- X }
- X pline ("\"Use it wisely in my name!\"");
- X break;
- X!
- X case 7:
- X #ifdef ELBERETH
- X if (u.ualign > 3 && !u.uhand_of_elbereth) {
- X
- X--- 568,574 -----
- X }
- X pline ("\"Use it wisely in my name!\"");
- X break;
- X! }
- X case 7:
- X #ifdef ELBERETH
- X if (u.ualign > 3 && !u.uhand_of_elbereth) {
- X***************
- X*** 587,592
- X #endif
- X } else {
- X register struct obj *obj;
- X pline("A voice booms out: \"Thou art chosen to steal souls for Arioch!\"");
- X /* This does the same damage as Excalibur.
- X * Disadvantages: doesn't do bonuses to undead;
- X
- X--- 590,596 -----
- X #endif
- X } else {
- X register struct obj *obj;
- X+ #ifdef NAMED_ITEMS
- X pline("A voice booms out: \"Thou art chosen to steal souls for Arioch!\"");
- X /* This does the same damage as Excalibur.
- X * Disadvantages: doesn't do bonuses to undead;
- X***************
- X*** 617,622
- X */
- X obj->spe = 1;
- X dropy(obj);
- X }
- X break;
- X }
- X
- X--- 621,629 -----
- X */
- X obj->spe = 1;
- X dropy(obj);
- X+ #else
- X+ pline("Thou shalt become the servant of Arioch!");
- X+ #endif
- X }
- X break;
- X }
- X***************
- X*** 716,721
- X
- X if (otmp->otyp == CORPSE) {
- X register struct permonst *mtmp = &mons[otmp->corpsenm];
- X
- X if (otmp->corpsenm == PM_ACID_BLOB || (moves <= otmp->age + 50))
- X value = mtmp->mlevel + 1; /* only fresh kills */
- X
- X--- 723,729 -----
- X
- X if (otmp->otyp == CORPSE) {
- X register struct permonst *mtmp = &mons[otmp->corpsenm];
- X+ extern int monstr[];
- X
- X if (otmp->corpsenm == PM_ACID_BLOB || (moves <= otmp->age + 50))
- X value = monstr[otmp->corpsenm] + 1;
- X***************
- X*** 718,724
- X register struct permonst *mtmp = &mons[otmp->corpsenm];
- X
- X if (otmp->corpsenm == PM_ACID_BLOB || (moves <= otmp->age + 50))
- X! value = mtmp->mlevel + 1; /* only fresh kills */
- X
- X if (is_human(mtmp)) { /* Human sacrifice! */
- X #ifdef POLYSELF
- X
- X--- 726,732 -----
- X extern int monstr[];
- X
- X if (otmp->corpsenm == PM_ACID_BLOB || (moves <= otmp->age + 50))
- X! value = monstr[otmp->corpsenm] + 1;
- X
- X if (is_human(mtmp)) { /* Human sacrifice! */
- X #ifdef POLYSELF
- X***************
- X*** 822,828
- X }
- X else {
- X /* The final Test. Did you win? */
- X! if(uamul && uamul->otyp == otmp->otyp) Amulet_off();
- X useup(otmp); /* well, it's gone now */
- X You("offer the Amulet to %s...", a_gname());
- X if (u.ualigntyp !=
- X
- X--- 830,836 -----
- X }
- X else {
- X /* The final Test. Did you win? */
- X! if(uamul == otmp) Amulet_off();
- X useup(otmp); /* well, it's gone now */
- X You("offer the Amulet to %s...", a_gname());
- X if (u.ualigntyp !=
- X***************
- X*** 835,841
- X pline("Fortunately, %s permits you to live...", a_gname());
- X pline("A cloud of %s smoke surrounds you...",
- X Hallucination ? hcolor() : "orange");
- X! done("escaped");
- X } else { /* super big win */
- X pline("An invisible choir sings, and you are bathed in radiance...");
- X pline("\"Congratulations, mortal! In return for thy service,");
- X
- X--- 843,849 -----
- X pline("Fortunately, %s permits you to live...", a_gname());
- X pline("A cloud of %s smoke surrounds you...",
- X Hallucination ? hcolor() : "orange");
- X! done(ESCAPED);
- X } else { /* super big win */
- X pline("An invisible choir sings, and you are bathed in radiance...");
- X pline("\"Congratulations, mortal! In return for thy service,");
- X***************
- X*** 839,845
- X } else { /* super big win */
- X pline("An invisible choir sings, and you are bathed in radiance...");
- X pline("\"Congratulations, mortal! In return for thy service,");
- X! pline("\"I grant thee the gift of Immortality!\"");
- X You("ascend to the status of Demigod...");
- X done("ascended");
- X }
- X
- X--- 847,853 -----
- X } else { /* super big win */
- X pline("An invisible choir sings, and you are bathed in radiance...");
- X pline("\"Congratulations, mortal! In return for thy service,");
- X! pline("I grant thee the gift of Immortality!\"");
- X You("ascend to the status of Demigod...");
- X done(ASCENDED);
- X }
- X***************
- X*** 841,847
- X pline("\"Congratulations, mortal! In return for thy service,");
- X pline("\"I grant thee the gift of Immortality!\"");
- X You("ascend to the status of Demigod...");
- X! done("ascended");
- X }
- X }
- X }
- X
- X--- 849,855 -----
- X pline("\"Congratulations, mortal! In return for thy service,");
- X pline("I grant thee the gift of Immortality!\"");
- X You("ascend to the status of Demigod...");
- X! done(ASCENDED);
- X }
- X }
- X }
- X*** src/Old/pri.c Wed Aug 16 12:38:14 1989
- X--- src/pri.c Fri Aug 11 17:05:31 1989
- X***************
- X*** 150,156 ****
- X #ifdef POLYSELF
- X && !u.uundetected
- X #endif
- X! ) atl(u.ux,u.uy,(char)u.usym);
- X }
- X
- X void
- X--- 150,159 ----
- X #ifdef POLYSELF
- X && !u.uundetected
- X #endif
- X! ) {
- X! levl[u.ux][u.uy].seen = 0; /* force atl */
- X! atl(u.ux,u.uy,(char)u.usym);
- X! }
- X }
- X
- X void
- X***************
- X*** 219,225 ****
- X && !u.uundetected
- X #endif
- X ) {
- X! levl[(u.udisx = u.ux)][(u.udisy = u.uy)].scrsym = u.usym;
- X levl[u.udisx][u.udisy].seen = 1;
- X u.udispl = 1;
- X } else u.udispl = 0;
- X--- 222,230 ----
- X && !u.uundetected
- X #endif
- X ) {
- X! u.udisx = u.ux;
- X! u.udisy = u.uy;
- X! levl[u.udisx][u.udisy].scrsym = u.usym;
- X levl[u.udisx][u.udisy].seen = 1;
- X u.udispl = 1;
- X } else u.udispl = 0;
- X***************
- X*** 229,235 ****
- X mtmp->mdispl = 0;
- X seemons(); /* force new positions to be shown */
- X
- X! #if defined(DGK) && !defined(MSDOSCOLOR)
- X /* Otherwise, line buffer the output to do the redraw in
- X * about 2/3 of the time.
- X */
- X--- 234,240 ----
- X mtmp->mdispl = 0;
- X seemons(); /* force new positions to be shown */
- X
- X! #if defined(DGK) && !defined(TEXTCOLOR)
- X /* Otherwise, line buffer the output to do the redraw in
- X * about 2/3 of the time.
- X */
- X***************
- X*** 261,267 ****
- X curx = end + 1;
- X }
- X }
- X! #else /* DGK && !MSDOSCOLOR */
- X for(y = 0; y < ROWNO; y++)
- X for(x = 0; x < COLNO; x++)
- X if((room = &levl[x][y])->new) {
- X--- 266,272 ----
- X curx = end + 1;
- X }
- X }
- X! #else /* DGK && !TEXTCOLOR */
- X for(y = 0; y < ROWNO; y++)
- X for(x = 0; x < COLNO; x++)
- X if((room = &levl[x][y])->new) {
- X***************
- X*** 269,275 ****
- X at(x,y,room->scrsym,AT_APP);
- X } else if(room->seen)
- X at(x,y,room->scrsym,AT_APP);
- X! #endif /* DGK && !MSDOSCOLOR */
- X #ifndef g_putch
- X if (GFlag) {
- X graph_off();
- X--- 274,280 ----
- X at(x,y,room->scrsym,AT_APP);
- X } else if(room->seen)
- X at(x,y,room->scrsym,AT_APP);
- X! #endif /* DGK && !TEXTCOLOR */
- X #ifndef g_putch
- X if (GFlag) {
- X graph_off();
- X***************
- X*** 1100,1115 ****
- X }
- X
- X if (!typ) {
- X- char *isobjct = index(obj_symbols, (char) let);
- X-
- X if (let == GOLD_SYM)
- X typ = AT_GLD;
- X! #ifdef MSDOSCOLOR
- X! else if (let == POOL_SYM)
- X! if (HI_BLUE == HI) typ = AT_MAP;
- X! else typ = AT_BLUE;
- X! #endif
- X! else if (isobjct != NULL || let == S_MIMIC_DEF)
- X /* is an object */
- X typ = AT_OBJ;
- X else if (ismnst((char) let))
- X--- 1105,1114 ----
- X }
- X
- X if (!typ) {
- X if (let == GOLD_SYM)
- X typ = AT_GLD;
- X! else if (index(obj_symbols, (char) let) != NULL
- X! || let == S_MIMIC_DEF)
- X /* is an object */
- X typ = AT_OBJ;
- X else if (ismnst((char) let))
- X***************
- X*** 1116,1152 ****
- X /* is a monster */
- X typ = AT_MON;
- X }
- X! #ifndef MSDOSCOLOR
- X! if (typ == AT_MON) revbeg();
- X! #else
- X switch (typ) {
- X case AT_MON:
- X! xputs(let != S_MIMIC_DEF ? HI_MON : HI_OBJ);
- X break;
- X case AT_OBJ:
- X! xputs(let == GOLD_SYM ? HI_GOLD : HI_OBJ);
- X break;
- X case AT_MAP:
- X! if (!(typ = (let == POOL_SYM)))
- X! break;
- X! case AT_BLUE:
- X! xputs(HI_BLUE);
- X break;
- X case AT_ZAP:
- X! xputs(HI_ZAP);
- X break;
- X- case AT_RED:
- X- xputs(HI_RED);
- X- break;
- X- case AT_WHITE:
- X- xputs(HI_WHITE);
- X- break;
- X }
- X #endif
- X
- X g_putch(let);
- X
- X! #ifdef MSDOSCOLOR
- X if (typ) xputs(HE);
- X #else
- X if (typ == AT_MON) m_end();
- X--- 1115,1174 ----
- X /* is a monster */
- X typ = AT_MON;
- X }
- X! #ifdef TEXTCOLOR
- X switch (typ) {
- X case AT_MON:
- X! switch (let) {
- X! case S_MIMIC_DEF:
- X! typ = HI_OBJ;
- X! break;
- X! case S_YLIGHT: /* make 'em "glow" */
- X! typ = YELLOW;
- X! break;
- X! default:
- X! typ = HI_MON;
- X! }
- X break;
- X case AT_OBJ:
- X! switch (let) {
- X! case GOLD_SYM:
- X! typ = HI_GOLD;
- X! break;
- X! case WEAPON_SYM:
- X! case ARMOR_SYM:
- X! case RING_SYM:
- X! case AMULET_SYM:
- X! typ = HI_METAL;
- X! break;
- X! case FOOD_SYM:
- X! case POTION_SYM:
- X! typ = HI_ORGANIC;
- X! break;
- X! default:
- X! typ = HI_OBJ;
- X! }
- X break;
- X case AT_MAP:
- X! #ifdef FOUNTAINS
- X! typ = ((let == POOL_SYM || let == FOUNTAIN_SYM)
- X! #else
- X! typ = (let == POOL_SYM
- X! #endif
- X! && HI_COLOR[BLUE] != HI ? BLUE : 0);
- X break;
- X case AT_ZAP:
- X! typ = HI_ZAP;
- X break;
- X }
- X+ if (typ)
- X+ xputs(HI_COLOR[typ]);
- X+ #else
- X+ if (typ == AT_MON) revbeg();
- X #endif
- X
- X g_putch(let);
- X
- X! #ifdef TEXTCOLOR
- X if (typ) xputs(HE);
- X #else
- X if (typ == AT_MON) m_end();
- END_OF_FILE
- if test 57076 -ne `wc -c <'patch02f'`; then
- echo shar: \"'patch02f'\" unpacked with wrong size!
- fi
- # end of 'patch02f'
- fi
- echo shar: End of archive 6 \(of 7\).
- cp /dev/null ark6isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 7 archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-